package com.shujia.spark.core

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo05Sample {
  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setAppName("Sample").setMaster("local")

    val sc = new SparkContext(conf)

    //读取students数据
    val students: RDD[String] = sc.textFile("data/students.txt")

    /**
      * sample:抽样算子
      * withReplacement：表示抽出样本后是否在放回去，
      * true表示会放回去，这也就意味着抽出的样本可能有重复
      * false表示不会放回去 这样抽出的样本不会重复
      *
      * fraction:代表一次抽样的比例
      */
    val sampleRDD: RDD[String] = students.sample(false,0.2)

    sampleRDD.foreach(println)
  }
}
